#1、1、2、3、5、8、13、21、34、……
# 在数学上，斐波纳契数列以如下被以递推的方法定义：F(1)=1，F(2)=1,F(3)=2,F(4)=3.....F(n)=F(n-1)+F(n-2)


#for 循环&自定义异常`ParamsTypeError`

class ParamsTypeError(Exception):
    pass


def fibo_for(n):
    a, b = 0, 1
    list = []
    try:
        n = int(n)
        for i in range(n):
            a , b = b, a+b
            list.append(a)
        return list
    except:
        raise ParamsTypeError('请输入整数')


#while 循环&自定义异常`ParamsTypeError`
def fibo_while(n):
    a, b = 0, 1
    list = []
    try:
        n = int(n)
        while n>0:
            a , b = b, a+b
            n -=1
            list.append(a)
        return list
    except:
        raise ParamsTypeError('请输入整数')


if __name__ =='__main__':
    print(fibo_for(5))
    print(fibo_while(5))